package com.ruoyi.testDeal.service;

import com.ruoyi.testDeal.domain.TestDeal;
import com.ruoyi.testDeal.domain.TestDealDto;
import com.ruoyi.testDeal.domain.report.*;

/**
 * 业务处理
 */
public interface TestDealService {

    /**
     * 根据检测项目id获取具体检测信息数据
     */
    TestDeal getTestDeal(String testId);

    /**
     * 根据项目编号和项目类别获取报告基本参数信息
     */
    TestDealDto getTestInfoByNumAndType(String agreementNum, String sampleType);

    /**
     * 非煤缠绕提升机报告内容保存
     */
    int saveJkCrtshj(JkCrtshjReportData jkCrtshjReportData);

    /**
     * 非煤缠绕提升机报告导入
     */
    String importJkCrtshj(JkCrtshjReportData jkCrtshjReportData);

    /**
     * 根据报告编号获取详细信息
     */
    JkCrtshjReportData getInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号删除提升机详细信息
     */
    int delJkCrtshjInfoByReportNum(String reportNum);

    /**
     * 非煤空压机数据保存
     */
    int saveJkKyj(JkKyjReportData jkKyjReportData);

    /**
     * 根据报告编号删除空压机详细信息
     */
    int delJkKyjInfoByReportNum(String reportNum);

    /**
     * 根据报告编号获取空压机报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkKyjReportData getKyjInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取通风机报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkTfjReportData getTfjInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取水泵报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkSbReportData getSbInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取防坠器报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkFzqReportData getFzqInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取带式输送机报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkDshshsjReportData getDshshsjInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取矿山监测监控系统报告详情
     * @param reportNum
     * @param testId
     * @return
     */
    JkKshjcjkxtReportData getKshjcjkxtInfoByReportNum(String reportNum, String testId);

    /**
     * 根据报告编号获取仪表报告详情
     * @param reportNum
     * @return
     */
    YbReportData getYbInfoByReportNum(String reportNum);

    /**
     * 非煤空压机报告导入
     */
    String importJkKyj(JkKyjReportData jkKyjReportData);

    /**
     * 非煤通风机数据保存
     */
    int saveJkTfj(JkTfjReportData jkTfjReportData);

    /**
     * 根据报告编号删除通风机详细信息
     */
    int delJkTfjInfoByReportNum(String reportNum);

    /**
     * 非煤通风机报告导入
     */
    String importJkTfj(JkTfjReportData jkTfjReportData);

    /**
     * 非煤水泵数据保存
     */
    int saveJkSb(JkSbReportData jkSbReportData);

    /**
     * 根据报告编号删除水泵详细信息
     */
    int delJkSbInfoByReportNum(String reportNum);

    /**
     * 非煤水泵报告导入
     */
    String importJkSb(JkSbReportData jkSbReportData);

    /**
     * 非煤防坠器数据保存
     */
    int saveJkFzq(JkFzqReportData jkFzqReportData);

    /**
     * 根据报告编号删除防坠器详细信息
     */
    int delJkFzqInfoByReportNum(String reportNum);

    /**
     * 非煤防坠器报告导入
     */
    String importJkFzq(JkFzqReportData jkFzqReportData);


    /**
     * 非煤带式输送机数据保存
     */
    int saveJkDshshsj(JkDshshsjReportData jkDshshsjReportData);

    /**
     * 根据报告编号删除带式输送机详细信息
     */
    int delJkDshshsjInfoByReportNum(String reportNum);

    /**
     * 非煤带式输送机报告导入
     */
    String importJkDshshsj(JkDshshsjReportData jkDshshsjReportData);


    /**
     * 非煤地下矿山监测监控系统数据保存
     */
    int saveJkKshjcjkxt(JkKshjcjkxtReportData jkKshjcjkxtReportData);

    /**
     * 根据报告编号删除地下矿山监测监控系统详细信息
     */
    int delJkKshjcjkxtInfoByReportNum(String reportNum);

    /**
     * 非煤地下矿山监测监控系统报告导入
     */
    String importJkKshjcjkxt(JkKshjcjkxtReportData jkKshjcjkxtReportData);

    /**
     * 传感器数据保存
     */
    int saveCgq(YbReportData ybReportData);

    /**
     * 根据报告编号传感器详细信息
     */
    int delCgqByReportNum(String reportNum);

    /**
     * 传感器报告导入
     */
    String importCgq(YbReportData ybReportData);
}
